<?php
    include_once 'classes/daos/BoutiqueDAO.class.php';
    include_once 'classes/managers/FormGeneral.class.php';
    include_once 'classes/managers/JSONmessage.class.php';
    include_once 'classes/beans/Boutique.class.php';
    
    // redéfintinon d'une entete de la réponse -> tous les types seront en JSON
    header('Content-type : application/json');
    
    // instanciation des DAO nécessaires au opérations
    $boutiqueDAO = new BoutiqueDAO();
    
    
    
    /**
     *
     *  pour ajouter une boutique : vérification des champs, que l'adresse n'existe pas en base, puis 
     *  
     *  on l'ajoute en base puis on la récupère avec last_insert_id() puis transformation et réponse en JSON
     * 
     *  
     */
    if($_POST['action'] == 'ajoutBoutique'){
        $boutique = array();
        $jsonMessage = new JSONmessage();
        $mess= "";
        $stat = 0;
         
        if(!FormGeneral::lesChampsSontVides($_POST)){
            if($boutiqueDAO->nomAdresseBoutiqueExiste($_POST['nomb'], $_POST['adresseb']) == 0){
                if($boutiqueDAO->addBoutique($_POST['nomb'], $_POST['adresseb'], $_POST['telb'],$_POST['locationLat'], $_POST['locationLng'])){
                    // on recupère la derniere boutique inserée si l'ajout en BDD a réussi
                    $idBoutique = $boutiqueDAO->getLastInsertId();
                   $boutique[] = $boutiqueDAO->getBoutiqueById($idBoutique);
                    if($boutique[0] != null){
                        $jsonMessage->setBoutiques($boutique);
                        if($boutiqueDAO->addHoraires(json_decode($_POST['horaires'], true), $idBoutique)){
                            $mess = "votre boutique a bien été ajouté";
                            $stat = 1;
                        }
                        else
                            $mess = "probleme d'ajout d'horaires en BDD";
                            
                    }
                    else
                        $mess = "probleme d'ajout de la boutique en BDD";
                }
            }
            else{
                $mess = "Cette adresse existe déjà";
            }
        }
        else{
            $mess = "les champs sont vides";
        }
       
      $jsonMessage->setMessage($mess);
      $jsonMessage->setSatut($stat);
      if($boutique == null)
        echo $jsonMessage->toJSON();  
      else
        echo  $jsonMessage->toBoutiquesJSON();  
      
   
    
    }
    
    
    
    if($_POST['action'] == 'verifNomAdresseBoutique'){
        $jsonMessage = new JSONmessage();
        $nom = addslashes(htmlspecialchars(trim($_POST['nom'])));
        $adresse = addslashes(htmlspecialchars(trim($_POST['adresse'])));
        if($adresse != "" && $nom != ""){
            $res = $boutiqueDAO->nomAdresseBoutiqueExiste($nom, $adresse);
            if($res > 0)
                $jsonMessage->setSatut(1);
            else
                $jsonMessage->setSatut(0);
        }
//        $jsonMessage->setMessage($res); 
        echo $jsonMessage->toJSON();  
        
    }
    
    
    
     if($_POST['action'] == 'getAllBoutiques'){
         $jsonMessage = new JSONmessage();
         $stat = 0;
         $lesBoutiques = $boutiqueDAO->getAllBoutiques();
         if(!empty($lesBoutiques)){
            $stat = 1;
            $jsonMessage->setBoutiques($lesBoutiques);
             
         }
         $jsonMessage->setSatut($stat);
         if($stat == 0)
            echo $jsonMessage->toJSON();  
        else
            echo  $jsonMessage->toBoutiquesJSON();  
     }
     
     
     
     if($_POST['action'] == 'getAddressByBoutiqueId'){
        $jsonMessage = new JSONmessage();
        $stat = 0;
        $mess = "";
        $boutique = $boutiqueDAO->getBoutiqueById(intval($_POST['idb']));
        if($boutique != null){
            $jsonMessage->setHashmap(array("adresse" => $boutique->getAdresseBoutique()));
            $stat = 1;
        }
        else{
            $mess = "La boutique n'existe pas";
        }
        
        $jsonMessage->setSatut($stat);
        $jsonMessage->setMessage($mess);
        echo $jsonMessage->toJSON();
        
     }
     
    
?>
